﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Infrastructure.Core.Loging
{
    /// <summary>
    /// 日志接口
    /// </summary>
    public interface ILogger
    {
        /// <summary>
        /// 记录Info信息
        /// </summary>
        /// <param name="title"></param>
        /// <param name="content"></param>
        void Info(String title,String content);
        /// <summary>
        /// 记录警告信息
        /// </summary>
        /// <param name="title"></param>
        /// <param name="content"></param>
        void Warn(String title, String content);
        /// <summary>
        /// 记录错误信息
        /// </summary>
        /// <param name="title"></param>
        /// <param name="content"></param>
        void Error(String title, String content);
        /// <summary>
        /// 记录异常信息
        /// </summary>
        /// <param name="title"></param>
        /// <param name="content"></param>
        void Exception(String title, String content);
        /// <summary>
        /// 异常信息
        /// </summary>
        /// <param name="title"></param>
        /// <param name="exception"></param>
        //void Exception(String title, Exception exception);
    }

    /// <summary>
    /// 日志类型
    /// </summary>
    public enum LogType
    {
        /// <summary>
        /// 空日志
        /// </summary>
        Empty = 0,
        /// <summary>
        /// 文本日志
        /// </summary>
        Text = 1,
        /// <summary>
        /// Mongo日志
        /// </summary>
        Mongo = 2
    }

    /// <summary>
    /// 日志级别
    /// </summary>
    public enum LogLevel
    {
        Info = 0,
        Warn = 1,
        Error = 2,
        Exception = 3
    }

}
